<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
    <title>colorizer Docs</title>
    <link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>

<div id="container">

<div id="product">
	<div id="product_logo"></div>
	<div id="product_name"><big><b></b></big></div>
	<div id="product_description"></div>
</div> <!-- id="product" -->


<div id="main">


<!-- Menu -->

<div id="navigation">
<br/>
<h1>colorizer</h1>


<ul>
  <li><a href="../index.html">Index</a></li>
</ul>

<h2>Contents</h2>
<ul>
<li><a href="#Functions">Functions</a></li>
</ul>


<h2>Modules</h2>
<ul class="nowrap">
  <li><a href="../modules/colorizer.html">colorizer</a></li>
  <li><a href="../modules/colorizer.buffer.html">buffer</a></li>
  <li><a href="../modules/colorizer.color.html">color</a></li>
  <li><a href="../modules/colorizer.config.html">config</a></li>
  <li><a href="../modules/colorizer.constants.html">constants</a></li>
  <li><a href="../modules/colorizer.matcher.html">matcher</a></li>
  <li><a href="../modules/colorizer.parser.rgb_hex.html">parser.rgb_hex</a></li>
  <li><a href="../modules/colorizer.parser.hsl.html">parser.hsl</a></li>
  <li><strong>parser.names</strong></li>
  <li><a href="../modules/colorizer.parser.oklch.html">parser.oklch</a></li>
  <li><a href="../modules/colorizer.parser.rgb.html">parser.rgb</a></li>
  <li><a href="../modules/colorizer.parser.rgba_hex.html">parser.rgba_hex</a></li>
  <li><a href="../modules/colorizer.parser.xterm.html">parser.xterm</a></li>
  <li><a href="../modules/colorizer.sass.html">sass</a></li>
  <li><a href="../modules/colorizer.tailwind.html">tailwind</a></li>
  <li><a href="../modules/trie.html">trie</a></li>
  <li><a href="../modules/colorizer.usercmds.html">usercmds</a></li>
  <li><a href="../modules/colorizer.utils.html">utils</a></li>
</ul>

</div>

<div id="content">

<h1>Module <code>colorizer.parser.names</code></h1>
<p>This module provides a parser that identifies named colors from a given line of text.</p>
<p>
It uses a Trie structure for efficient prefix-based matching of color names to #rrggbb values.
The module supports multiple namespaces, enabling flexible configuration and handling of
different types of color names (e.g., lowercase, uppercase, camelcase, custom names, Tailwind names).
<p>Namespaces:
<pre>
- lowercase: Contains color names converted to lowercase (e.g., "red" -> "#ff0000").
- uppercase: Contains color names converted to uppercase (e.g., "RED" -> "#ff0000").
- camelcase: Contains color names in camel case (e.g., "LightBlue" -> "#add8e6").
- tailwind_names: Contains color names based on TailwindCSS conventions, including prefixes.
- names_custom: Contains user-defined color names, either as a table or a function returning a table.</pre>
<p>The parser dynamically populates the Trie and namespaces based on the provided options.
Unused namespaces are left empty, avoiding unnecessary memory usage. Color name matching respects
the configured namespaces and user-defined preferences, such as whether to strip digits.</p>


<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#reset_cache">reset_cache ()</a></td>
	<td class="summary">Reset the color names cache.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_color">update_color (name, hex, namespace)</a></td>
	<td class="summary">Updates the color value for a given color name.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#parser">parser (line, i, m_opts)</a></td>
	<td class="summary">Parses a line to identify color names.</td>
	</tr>
</table>

<br/>
<br/>


    <h2 class="section-header "><a name="Functions"></a>Functions</h2>

    <dl class="function">
    <dt>
    <a name = "reset_cache"></a>
    <strong>reset_cache ()</strong>
    </dt>
    <dd>
    Reset the color names cache.
 Called from colorizer.setup







</dd>
    <dt>
    <a name = "update_color"></a>
    <strong>update_color (name, hex, namespace)</strong>
    </dt>
    <dd>
    Updates the color value for a given color name.


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">name</span>
         string: The color name.
        </li>
        <li><span class="parameter">hex</span>
         string: The color value in hex format.
        </li>
        <li><span class="parameter">namespace</span>
         string: The color map namespace.
        </li>
    </ul>





</dd>
    <dt>
    <a name = "parser"></a>
    <strong>parser (line, i, m_opts)</strong>
    </dt>
    <dd>
    Parses a line to identify color names.


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">line</span>
         string: The text line to parse.
        </li>
        <li><span class="parameter">i</span>
         number: The index to start parsing from.
        </li>
        <li><span class="parameter">m_opts</span>
         table: Matcher opts
        </li>
    </ul>

    <h3>Returns:</h3>
    <ol>

        number|nil, string|nil: Length of match and hex value if found.
    </ol>




</dd>
</dl>


</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/lunarmodules/LDoc">LDoc 1.5.0</a></i>
<i style="float:right;">Last updated - October </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
